| Description | Workbench Selection | Syntax |
| Semantic element associated to a graphical element | A diagram / A diagram element | aql:self.target |
| aird file (non fragmented model) | A diagram | ancestor.eClass().name = 'DAnalysis')->asSet()) |
| All aird files (fragmented model) | A diagram | aql: self.getAllDAnalysis() |
| All diagrams | A diagram | aql: self.getAllDAnalysis().ownedViews.ownedRepresentationDescriptors |
| Number of diagrams | A diagram | aql: self.getAllDAnalysis().ownedViews.ownedRepresentationDescriptors->size() |
| All diagrams from kind "Logical Data Flow" | A diagram | x.description.name.startsWith('Logical Data Flow Blank'))''' |
| All diagrams except kind "Scenario" | A diagram | x.description.name.endsWith('Scenario') = false)''' |
| List of different viewpoints | A diagram | aql: self.getAllDAnalysis().ownedViews.viewpoint->asSet() |
| Number of graphical elements in all diagrams | A diagram | aql: self.getAllDAnalysis().ownedViews.ownedRepresentationDescriptors.representation.diagramElements->size() |
| Number of graphical elements in all diagrams (including technical elements like style, color…) | A diagram | aql: self.getAllDAnalysis().ownedViews.ownedRepresentationDescriptors.representation.eAllContents()->size() |
| Description | Workbench Selection | Syntax |
| All element containing the "TODO" string in their 'Name' property | A model element | eAllContent.name.matches('.*TODO.*'))''' |
| All element containing the "TODO" string in their 'Summary' property | A model element | eAllContent.summary.matches('.*TODO.*'))''' |
| All element containing the "TODO" string in their 'Description' property | A model element | eAllContent.description.matches('.*TODO.*'))''' |
| All diagrams containing a note containing the "TODO" string | A diagram | x.eInverse('element')->filter(notation::Diagram).eAllContents(notation::Node)->select(x | x.type = 'Note' and x.description.contains('TODO')))''' |
| Number of diagrams containing a note containing the "TODO" string | A diagram | x.eInverse('element')->filter(notation::Diagram).eAllContents(notation::Node)->select(x | x.type = 'Note' and x.description.contains('TODO')))->size()''' |
| Description | Workbench Selection | Syntax |
| Number of YYYY::XXXX owned by the selected element, where XXXX is the type of a model element (aql:self.eClass() ) and YYYY the last term of its package | A model element | aql:self.eAllContents(YYYY::XXXX)->size() |
| Number of Operational Activities | OperationalAnalysis | aql:self.eAllContents(oa::OperationalActivity)->size() |
| Number of Operational Interactions | OperationalAnalysis | aql:self.eAllContents(fa::FunctionalExchange)->size() |
| Number of Exchange Items in OA | OperationalAnalysis | aql:self.eAllContents(modellingcore::AbstractExchangeItem)->size() |
| Number of Types (Classes, Datatypes) in OA | OperationalAnalysis | aql:self.eAllContents(datatype::DataType)->size() |
| Number of Classes in OA | OperationalAnalysis | aql:self.eAllContents(information::Class)->size() |
| Number of States or Modes in OA | OperationalAnalysis | aql:(self.eAllContents()->filter(capellacommon::State) - self.eAllContents()->filter(capellacommon::Mode))->size() |
| Number of Operational Entities | OperationalAnalysis | aql:(self.eAllContents(oa::Entity) - self.eAllContents(oa::OperationalActor))->size() |
| Number of Operational Actors | OperationalAnalysis | aql:self.eAllContents(oa::OperationalActor)->size() |
| Number of Operational Roles | OperationalAnalysis | aql:self.eAllContents(oa::Role)->size() |
| Number of Communication Means | OperationalAnalysis | aql:self.eAllContents(oa::CommunicationMean)->size() |
| Number of System Functions | SystemAnalysis | aql:self.eAllContents(ctx::SystemFunction)->size() |
| Number of Functional Exchanges in SA | SystemAnalysis | aql:self.eAllContents(fa::FunctionalExchange)->size() |
| Number of Function Ports in SA | SystemAnalysis | aql:self.eAllContents()->filter(fa::FunctionPort)->size() |
| Number of System Actors | SystemAnalysis | aql:self.eAllContents(ctx::Actor)->size() |
| Number of Functional Chains in SA | SystemAnalysis | aql:self.eAllContents(fa::FunctionalChain)->size() |
| Number of Scenarios in SA | SystemAnalysis | aql:self.eAllContents(interaction::Scenario)->size() |
| Number of Behaviour Components in PA | PhysicalArchitecture | eAllContent.nature = pa::PhysicalComponentNature::BEHAVIOR)->size() |
| Number of Implementation PC (nodes) in PA | PhysicalArchitecture | eAllContent.nature = pa::PhysicalComponentNature::NODE)->size() |
| Number of Physical Links | PhysicalArchitecture | aql:self.eAllContents(cs::PhysicalLink)->size() |
| Number of Physical Ports | PhysicalArchitecture | aql:self.eAllContents(cs::PhysicalPort)->size() |
With Aql, you can navigate in elements following references and attributes:
aql:self.outgoing on a SystemFunction will retrieve outgoing functional exchanges:

There is many way to retrieve which references to use for an element. These references ca be used in a request like the above outgoing reference.
For instance, you can retrieve references with Aql using the following request:
aql:self.eClass().eAllReferences (or self.eClass().eAllAttributes to retrieve attributes)

One easiest way to retrieve references or attributes is to open the Properties View and go the Expert tab then choose relevant references/attributes for your query

You just have to write the reference name in a camelCaseFormat to use it with Aql (e.g. Available In States => availableInStates) or in some case with the corresponding getter function